package com.turing.post.organization.util;

import java.math.BigInteger;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

/**
 * 凭证库存业务
 * 
 * @author wzd
 * @2013-03-13
 */
@Remote
@Local
public interface VoucherStockBusiness {

	/**
	 * 新增凭证库存表
	 * 
	 * @param VoucherStock
	 *            凭证库存
	 * @throws PCPSApplicationException
	 */
	public void insertVoucherStock(PCPSWebInput webInput,
			BigInteger voucherInStockOrderId) throws PCPSApplicationException;

	/**
	 * 修改凭证库存表状态
	 * 
	 * @param VoucherStock
	 *            凭证库存
	 * @throws PCPSApplicationException
	 */
	public void updateVoucherStockByStatus(PCPSWebInput webInput,
			VoucherStock voucherStock) throws PCPSApplicationException;

	/**
	 * 入库撤销
	 * 
	 * @param VoucherStock
	 *            凭证库存
	 * @throws PCPSApplicationException
	 */
	public void deleteVoucherStock(PCPSWebInput webInput,
			VoucherInStockOrderDetail voucherInStockOrderDetail)
			throws PCPSApplicationException;

	/**
	 * 查询凭证号是否可用
	 * @param voucherStock
	 * @param input
	 * @return
	 * @throws PCPSApplicationException
	 */
	public VoucherStock getVoucherStockByCondition(VoucherStock voucherStock,
			PCPSWebInput input) throws PCPSApplicationException;
}
